import { CommonModule } from "@angular/common";
import { HttpClientModule } from "@angular/common/http";
import { InjectionToken, NgModule } from "@angular/core";
import { FormsModule } from "@angular/forms";
import { BrowserModule } from "@angular/platform-browser";
import { NzTableModule } from "ng-zorro-antd/table";
import { Subject } from "rxjs";

import { CardComponent } from "../components/Card/card.component";
import { DataRenderChanged, DataRenderComponent, DataRenderToken } from "../components/DataRender/datarender.component";
import { DisplayDbType } from "../directives/db/DisplayDbType";
import { ShowPassword } from "../directives/db/ShowPassword";
import { HidePassword } from "../pips/HidePassword";

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    NzTableModule
  ],
  declarations: [
    DataRenderComponent,
    CardComponent,
    DisplayDbType,
    ShowPassword,
    HidePassword
  ],
  exports: [
    CommonModule,
    FormsModule,
    DataRenderComponent,
    CardComponent,
    DisplayDbType,
    ShowPassword,
    HidePassword,
  ],
  providers: [
    { provide: DataRenderToken, useValue: new Subject<DataRenderChanged>() }
  ]
})
export class BaseModule {

}
